/*
 * EventSelectServer.h
 *
 *  Created on: 2013. 7. 23.
 *      Author: ncanis
 */
#pragma once

#include "stdafx.h"
#include "AbstractEventSelect.h"

namespace TED {
/**
	@author ncanis
	@brief Event-Select for Test (클라이언트 네트웍 로직에서 사용하는것이 좋다)
		   한 Thread당 Handler에서64개의 Handler만 관리할수 있다.(64개의 클라이언트)
		   참고 : http://stackoverflow.com/questions/2234215/how-break-the-64-limit-when-using-wsaeventselect
*/
class EventSelectServer : public AbstractEventSelect{
private:
	SOCKET socket; //Listen중인 서버 소켓

	int SelectEvent(int index);
	void Accept();
public:
	EventSelectServer(SocketHandler* handler, const TCHAR* ip, const INT port);
	virtual ~EventSelectServer();
	bool Bind();
	bool Dispose(); //연결을 닫는다.
};

} /* namespace ted */

